package org.example.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.example.entity.Offermanagementtable;

import java.util.List;

public interface OffermanagementtableMapper extends BaseMapper<Offermanagementtable> {
    List<Offermanagementtable> findByStatus(@Param("status") String status,
                                            @Param("intendedPosition") String intendedPosition,
                                            @Param("deptName") String deptName);

    List<Offermanagementtable> findAllStatus(@Param("status") String status,
                                             @Param("intendedPosition") String intendedPosition,
                                             @Param("deptName") String deptName);

    List<Offermanagementtable> findByStatusAsc(@Param("status") String status,
                                               @Param("intendedPosition") String intendedPosition,
                                               @Param("deptName") String deptName);

    List<Offermanagementtable> findByStatusDesc(@Param("status") String status,
                                                @Param("intendedPosition") String intendedPosition,
                                                @Param("deptName") String deptName);

    //offer跟进升序
    List<Offermanagementtable> moreAdvancedStatusAscendingOrder(@Param("status") String status,
                                                                @Param("intendedPosition") String intendedPosition,
                                                                @Param("deptName") String deptName);

    //offer跟进降序
    List<Offermanagementtable> followUpOnTheDescendingOrderOfStatus(@Param("status") String status,
                                                                    @Param("intendedPosition") String intendedPosition,
                                                                    @Param("deptName") String deptName);

    Offermanagementtable findByResumeId(@Param("applicanId") String applicanId);

    List<Offermanagementtable> OfferWithCandidateResultMap(@Param("candidateId") String candidateId);

    List<Offermanagementtable> getOfferWithCandidateAndDept(@Param("offerId") String offerId);

    List<Offermanagementtable> selectByOfferStatus(@Param("offerStatus") String offerStatus);
}